<?php
$month = 'mar';

switch ($month)
{
  case 0    : echo 'Zero';break;
  case 1    : echo 'One';break;
  case 'jan': echo 'Sunday';
  case 'feb': echo 'Monday';   break;
  case 'mar': echo 'Tuesday ';
  case 'apr': echo 'Wednesday ';
  default: echo "No Match Found ";
}

/* Bad Luck !!
 * "Tuesday Wednesday No Match Found"
 * because "break" statement is missing
 * from the end of matched case "mar"
 *
 *
 *
 * We will get surprisingly "Zero"
 * because PHP automatically typecase varibale's
 * value internally.
 *
 * When Compiler starts the parsing of case
 * statements with String "mar" against Int 0
 * then compiler tries to typecase "mar" to
 * INT and after typecasting (int)"mar" it
 * will produce 0..
 *
 * Now (int)"mar" will match against INT 0
 * and successfully execute case 0 : with
 * output "Zero"
 *
 * " WE SHOULD TRY TO AVOID COMBINATION OF INT AND
 * STRING IN SWITCH CASES "
 *
 * */
echo "\n\n\n\n";
